package com.yh.ldzl.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 出货检验单对象 qc_oqc
 * 
 * @author yanghuai
 * @date 2025-07-13
 */
public class QcOqc extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 出货检验单ID */
    private Long oqcId;

    /** 出货检验单编号 */
    @Excel(name = "出货检验单编号")
    private String oqcCode;

    /** 出货检验单名称 */
    @Excel(name = "出货检验单名称")
    private String oqcName;

    /** 检验模板ID */
    private Long templateId;

    /** 来源单据ID */
    private Long sourceDocId;

    /** 来源单据类型 */
    @Excel(name = "来源单据类型")
    private String sourceDocType;

    /** 来源单据编号 */
    @Excel(name = "来源单据编号")
    private String sourceDocCode;

    /** 来源单据行ID */
    private Long sourceLineId;

    /** 客户ID */
    private Long customerId;

    /** 客户编码 */
    @Excel(name = "客户编码")
    private String customerCode;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customerName;

    /** 批次号 */
    @Excel(name = "批次号")
    private String batchCode;

    /** 产品ID */
    private Long productId;

    /** 产品编码 */
    @Excel(name = "产品编码")
    private String productCode;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品规格型号 */
    @Excel(name = "产品规格型号")
    private String productSfn;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 最低检测数 */
    private Long quantityMinCheckNum;

    /** 最大不合格数 */
    private Long quantityMaxUnqualifiedNum;

    /** 发货数量 */
    @Excel(name = "发货数量")
    private Long quantityOutNum;

    /** 本次检测数量 */
    @Excel(name = "本次检测数量")
    private Long quantityCheckNum;

    /** 不合格数 */
    @Excel(name = "不合格数")
    private Long quantityUnqualifiedNum;

    /** 合格数量 */
    @Excel(name = "合格数量")
    private Long quantityQuanlifiedNum;

    /** 致命缺陷率 */
    private BigDecimal crRate;

    /** 严重缺陷率 */
    private BigDecimal majRate;

    /** 轻微缺陷率 */
    private BigDecimal minRate;

    /** 致命缺陷数量 */
    private Long crQuantityNum;

    /** 严重缺陷数量 */
    private Long majQuantityNum;

    /** 轻微缺陷数量 */
    private Long minQuantityNum;

    /** 检测结果(1/合格，2/不合格,3/待检) */
    @Excel(name = "检测结果(1/合格，2/不合格,3/待检)")
    private String checkResult;

    /** 出货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outDate;

    /** 检测日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检测日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inspectDate;

    /** 检测人员 */
    private String inspectorId;

    /** 单据状态(1/草稿,2/已提交,3/已审核) */
    @Excel(name = "单据状态(1/草稿,2/已提交,3/已审核)")
    private String status;

    /** 预留字段1 */
    private String attr1;

    /** 预留字段2 */
    private String attr2;

    /** 预留字段3 */
    private Long attr3;

    /** 预留字段4 */
    private Long attr4;

    /** 删除标志（0代表存在 1代表删除） */
    private String isDelete;

    public void setOqcId(Long oqcId) 
    {
        this.oqcId = oqcId;
    }

    public Long getOqcId() 
    {
        return oqcId;
    }

    public void setOqcCode(String oqcCode) 
    {
        this.oqcCode = oqcCode;
    }

    public String getOqcCode() 
    {
        return oqcCode;
    }

    public void setOqcName(String oqcName) 
    {
        this.oqcName = oqcName;
    }

    public String getOqcName() 
    {
        return oqcName;
    }

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setSourceDocId(Long sourceDocId) 
    {
        this.sourceDocId = sourceDocId;
    }

    public Long getSourceDocId() 
    {
        return sourceDocId;
    }

    public void setSourceDocType(String sourceDocType) 
    {
        this.sourceDocType = sourceDocType;
    }

    public String getSourceDocType() 
    {
        return sourceDocType;
    }

    public void setSourceDocCode(String sourceDocCode) 
    {
        this.sourceDocCode = sourceDocCode;
    }

    public String getSourceDocCode() 
    {
        return sourceDocCode;
    }

    public void setSourceLineId(Long sourceLineId) 
    {
        this.sourceLineId = sourceLineId;
    }

    public Long getSourceLineId() 
    {
        return sourceLineId;
    }

    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }

    public void setCustomerCode(String customerCode) 
    {
        this.customerCode = customerCode;
    }

    public String getCustomerCode() 
    {
        return customerCode;
    }

    public void setCustomerName(String customerName) 
    {
        this.customerName = customerName;
    }

    public String getCustomerName() 
    {
        return customerName;
    }

    public void setBatchCode(String batchCode) 
    {
        this.batchCode = batchCode;
    }

    public String getBatchCode() 
    {
        return batchCode;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setProductCode(String productCode) 
    {
        this.productCode = productCode;
    }

    public String getProductCode() 
    {
        return productCode;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setProductSfn(String productSfn) 
    {
        this.productSfn = productSfn;
    }

    public String getProductSfn() 
    {
        return productSfn;
    }

    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }

    public void setQuantityMinCheckNum(Long quantityMinCheckNum) 
    {
        this.quantityMinCheckNum = quantityMinCheckNum;
    }

    public Long getQuantityMinCheckNum() 
    {
        return quantityMinCheckNum;
    }

    public void setQuantityMaxUnqualifiedNum(Long quantityMaxUnqualifiedNum) 
    {
        this.quantityMaxUnqualifiedNum = quantityMaxUnqualifiedNum;
    }

    public Long getQuantityMaxUnqualifiedNum() 
    {
        return quantityMaxUnqualifiedNum;
    }

    public void setQuantityOutNum(Long quantityOutNum) 
    {
        this.quantityOutNum = quantityOutNum;
    }

    public Long getQuantityOutNum() 
    {
        return quantityOutNum;
    }

    public void setQuantityCheckNum(Long quantityCheckNum) 
    {
        this.quantityCheckNum = quantityCheckNum;
    }

    public Long getQuantityCheckNum() 
    {
        return quantityCheckNum;
    }

    public void setQuantityUnqualifiedNum(Long quantityUnqualifiedNum) 
    {
        this.quantityUnqualifiedNum = quantityUnqualifiedNum;
    }

    public Long getQuantityUnqualifiedNum() 
    {
        return quantityUnqualifiedNum;
    }

    public void setQuantityQuanlifiedNum(Long quantityQuanlifiedNum) 
    {
        this.quantityQuanlifiedNum = quantityQuanlifiedNum;
    }

    public Long getQuantityQuanlifiedNum() 
    {
        return quantityQuanlifiedNum;
    }

    public void setCrRate(BigDecimal crRate) 
    {
        this.crRate = crRate;
    }

    public BigDecimal getCrRate() 
    {
        return crRate;
    }

    public void setMajRate(BigDecimal majRate) 
    {
        this.majRate = majRate;
    }

    public BigDecimal getMajRate() 
    {
        return majRate;
    }

    public void setMinRate(BigDecimal minRate) 
    {
        this.minRate = minRate;
    }

    public BigDecimal getMinRate() 
    {
        return minRate;
    }

    public void setCrQuantityNum(Long crQuantityNum) 
    {
        this.crQuantityNum = crQuantityNum;
    }

    public Long getCrQuantityNum() 
    {
        return crQuantityNum;
    }

    public void setMajQuantityNum(Long majQuantityNum) 
    {
        this.majQuantityNum = majQuantityNum;
    }

    public Long getMajQuantityNum() 
    {
        return majQuantityNum;
    }

    public void setMinQuantityNum(Long minQuantityNum) 
    {
        this.minQuantityNum = minQuantityNum;
    }

    public Long getMinQuantityNum() 
    {
        return minQuantityNum;
    }

    public void setCheckResult(String checkResult) 
    {
        this.checkResult = checkResult;
    }

    public String getCheckResult() 
    {
        return checkResult;
    }

    public void setOutDate(Date outDate) 
    {
        this.outDate = outDate;
    }

    public Date getOutDate() 
    {
        return outDate;
    }

    public void setInspectDate(Date inspectDate) 
    {
        this.inspectDate = inspectDate;
    }

    public Date getInspectDate() 
    {
        return inspectDate;
    }

    public void setInspectorId(String  inspectorId)
    {
        this.inspectorId = inspectorId;
    }

    public String getInspectorId()
    {
        return inspectorId;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setAttr1(String attr1) 
    {
        this.attr1 = attr1;
    }

    public String getAttr1() 
    {
        return attr1;
    }

    public void setAttr2(String attr2) 
    {
        this.attr2 = attr2;
    }

    public String getAttr2() 
    {
        return attr2;
    }

    public void setAttr3(Long attr3) 
    {
        this.attr3 = attr3;
    }

    public Long getAttr3() 
    {
        return attr3;
    }

    public void setAttr4(Long attr4) 
    {
        this.attr4 = attr4;
    }

    public Long getAttr4() 
    {
        return attr4;
    }

    public void setIsDelete(String isDelete) 
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete() 
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("oqcId", getOqcId())
            .append("oqcCode", getOqcCode())
            .append("oqcName", getOqcName())
            .append("templateId", getTemplateId())
            .append("sourceDocId", getSourceDocId())
            .append("sourceDocType", getSourceDocType())
            .append("sourceDocCode", getSourceDocCode())
            .append("sourceLineId", getSourceLineId())
            .append("customerId", getCustomerId())
            .append("customerCode", getCustomerCode())
            .append("customerName", getCustomerName())
            .append("batchCode", getBatchCode())
            .append("productId", getProductId())
            .append("productCode", getProductCode())
            .append("productName", getProductName())
            .append("productSfn", getProductSfn())
            .append("unit", getUnit())
            .append("quantityMinCheckNum", getQuantityMinCheckNum())
            .append("quantityMaxUnqualifiedNum", getQuantityMaxUnqualifiedNum())
            .append("quantityOutNum", getQuantityOutNum())
            .append("quantityCheckNum", getQuantityCheckNum())
            .append("quantityUnqualifiedNum", getQuantityUnqualifiedNum())
            .append("quantityQuanlifiedNum", getQuantityQuanlifiedNum())
            .append("crRate", getCrRate())
            .append("majRate", getMajRate())
            .append("minRate", getMinRate())
            .append("crQuantityNum", getCrQuantityNum())
            .append("majQuantityNum", getMajQuantityNum())
            .append("minQuantityNum", getMinQuantityNum())
            .append("checkResult", getCheckResult())
            .append("outDate", getOutDate())
            .append("inspectDate", getInspectDate())
            .append("inspectorId", getInspectorId())
            .append("status", getStatus())
            .append("remark", getRemark())
            .append("attr1", getAttr1())
            .append("attr2", getAttr2())
            .append("attr3", getAttr3())
            .append("attr4", getAttr4())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .toString();
    }
}
